<child>
<object class="GtkLabel" id="descriptionLabel">
<property name="ellipsize">end</property>
- <property name="max-width-chars">60</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<property name="visible">False</property>
<property name="selectable">True</property>
<property name="wrap">True</property>
- <property name="max-width-chars">60</property>
<property name="xalign">0</property>
<layout>
<property name="column">1</property>
<object class="GtkStackPage">
<property name="name">main</property>
<property name="child">
- <object class="GtkScrolledWindow" id="scrolledWindow">
- <property name="hscrollbar-policy">never</property>
+ <object class="AdwPreferencesPage">
<child>
- <object class="GtkViewport">
- <property name="scroll-to-focus">True</property>
+ <object class="AdwPreferencesGroup" id="userGroup">
+ <property name="title" translatable="yes">Manually Installed</property>
<child>
- <object class="GtkBox">
- <property name="orientation">vertical</property>
- <property name="halign">center</property>
- <property name="margin-start">36</property>
- <property name="margin-end">36</property>
- <property name="margin-top">36</property>
- <property name="margin-bottom">36</property>
- <property name="spacing">12</property>
- <child>
- <object class="GtkLabel">
- <property name="visible"
- bind-source="userList"
- bind-property="visible"
- bind-flags="sync-create"/>
- <property name="halign">start</property>
- <property name="hexpand">True</property>
- <property name="label" translatable="yes">Manually Installed</property>
- <style>
- <class name="heading"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkListBox" id="userList">
- <property name="selection-mode">none</property>
- <property name="margin-bottom">24</property>
- <style>
- <class name="content"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible"
- bind-source="systemList"
- bind-property="visible"
- bind-flags="sync-create"/>
- <property name="halign">start</property>
- <property name="hexpand">True</property>
- <property name="label" translatable="yes">Built-In</property>
- <style>
- <class name="heading"/>
- </style>
- </object>
- </child>
- <child>
- <object class="GtkListBox" id="systemList">
- <property name="selection-mode">none</property>
- <style>
- <class name="content"/>
- </style>
- </object>
- </child>
+ <object class="GtkListBox" id="userList">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="AdwPreferencesGroup" id="systemGroup">
+ <property name="title" translatable="yes">Built-In</property>
+ <child>
+ <object class="GtkListBox" id="systemList">
+ <property name="selection-mode">none</property>
+ <style>
+ <class name="content"/>
+ </style>
</object>
</child>
</object>
GTypeName: 'ExtensionsWindow',
Template: 'resource:///org/gnome/Extensions/ui/extensions-window.ui',
InternalChildren: [
+ 'userGroup',
'userList',
+ 'systemGroup',
'systemList',
'mainStack',
- 'scrolledWindow',
'searchBar',
'searchButton',
'searchEntry',
}
_syncListVisibility() {
- this._userList.visible = [...this._userList].length > 1;
- this._systemList.visible = [...this._systemList].length > 1;
+ this._userGroup.visible = [...this._userList].length > 1;
+ this._systemGroup.visible = [...this._systemList].length > 1;
- if (this._userList.visible || this._systemList.visible)
+ if (this._userGroup.visible || this._systemGroup.visible)
this._mainStack.visible_child_name = 'main';
else
this._mainStack.visible_child_name = 'placeholder';